Generally, memory scrubbing is a process where a memory controller periodically checks and corrects for errors in memory. Memory scrubbing operations are performed periodically to prevent, for example, single bit errors from adding-up into non-correctable multiple bits errors. As a result, memory scrubbing improves the overall reliability of the memory. The memory controller typically initiates memory scrubbing operations during idle periods. The memory scrubbing operation can be repeated for every memory cell within the memory such that the entire memory is periodically checked and cleansed.
In a memory scrubbing operation, the memory controller may read data from a memory cell during idle periods. The memory cell may be selected systematically or at random. If an error is detected, the memory controller corrects the data and writes the corrected data back to the memory.
There are continuing efforts to improve error checking and correction in memory.
Although the previous drawings depict various examples of the invention, the invention is not limited by the depicted examples. It is to be understood that, in the drawings, like reference numerals designate like structural elements. Also, it is understood that the depictions in the FIGS. are not necessarily to scale.